#pragma once
#include<stdio.h>
#include<assert.h>
#include<stdlib.h>

typedef int SLTDataType;
typedef struct SListNode
{
	SLTDataType data;
	struct SListNode* next;
}SLTNode;



void SLTPrint(SLTNode* phead);//打印函数
SLTNode* SLTBuyNode(SLTDataType x);//开辟新结点
SLTNode* InitNode();//初始化哨兵节点
void SLTPushBack(SLTNode* phead, SLTDataType x);//尾插
void SLTPushFront(SLTNode* pheadd, SLTDataType x);//头插
void SLTPophBack(SLTNode* phead);//尾删
void SLTPopFront(SLTNode* phead);//头删
SLTNode* SLTFind(SLTNode* phead, SLTDataType x);//查找
void SLTInsert(SLTNode* phead, SLTNode* pos, SLTDataType x);//pos之前插入
void SLTErase(SLTNode* phead, SLTNode* pos);//pos位置删除
void SLTInsertAfter(SLTNode* pos, SLTDataType x);// pos后面插入
void SLTEraseAfter(SLTNode* pos);// pos位置后面删除
void SLTDestroy(SLTNode* phead);//销毁链表